約 5,258,010 件
https://w.atwiki.jp/devemin/pages/13.html
●Activityの回転時の再生成への対応 ①再起動させなければいいので、onConfigurationChanged() メソッドをオーバーライド ②Activityのマニフェストに android configChanges="orientation|keyboardHidden" @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); } http //d.hatena.ne.jp/hyoromo/20090712/1247385249 (Softbank 005SHでは、keyboardHiddenが必要だった。) ●Eclipseの入力補完(オートコンプリート)が遅い件 バージョン3.62にすれば問題ないらしい ●アップデート後など、eclipseが起動しなくなった場合 eclipse\configuration\jp.sourceforge.mergedoc.pleiades フォルダを削除したらOKだった ●Android アプリ開発時、有料・無料の2種プロジェクトを作るTips (ソースを2プロジェクトで共有する方法) こちらを参考にさせてもらいました。 (Androidの無料アプリ・有料アプリを切り替えてビルドする方法) http //d.hatena.ne.jp/eaglesakura/20100629/1277832265 上記URLで書いてあった方法は、部分的に、自分のアプリでは対応できない部分があったので、自分のやった方法で、全体名流れを補足。 まず2つプロジェクトを普通に作る。(基本app-freeと派生app-paid) 2つのパッケージ名はそれぞれ、 com.appli.free com.appli.paid など、最後の1段落のみ変えたりするとわかりやすいかも。 プロジェクト名は、ここでは「app-free」「app-paid」としてみる。 派生プロジェクトpaidでは、src、assets、resディレクトリを、 リンクしたディレクトリとする。 派生プロジェクトapp-paidでは、基本プロジェクトapp-free内の自動生成ファイルR.javaが必要になる。 手動で毎回やるのは酷なので、派生プロジェクトapp-paidビルド時に毎回app-free側のR.javaが自動でコピーされるよう、バッチファイルを作成、プロジェクトのプロパティ、ビルダー、で、ビルド時に毎回実行されるようにする。初回はプロジェクトのクリーンを実行で、×マーク消える。 ${build_project}\rcopy.bat ${build_project} 上記サイトを参考にさせていただきました。 rcopy.bat -------------------------------- @echo off SET PARENT_PROJECT=app-free SET CURRENT_PROJECT=app-paid REM 定義ファイルをコピーする cd ..\%PARENT_PROJECT%\ REM genフォルダをコピーする xcopy /s /e /y .\gen ..\%CURRENT_PROJECT%\gen cd ..\CURRENT_PROJECT\ -------------------------------- リソースを共有するので、有料版、無料版をそれぞれリソースに含めるので、容量はダブって損となる。気にする人は気にするかも?でも自分は利便性を取りました。 @string/app_name @string/app_name_paid @drawable/icon @drawable/icon_paid AndroidManufest.xmlは、アプリそれぞれに設定する。 (パッケージ名、label ) アクティビティ名を、省略名ではなく、 activity android name="light.diary.plus.EditWindow" などにする必要があるかも これらの結果、 app-freeプロジェクト、はほかの通常のプロジェクトとなんら変わりない app-paidプロジェクトは、res, asset, srcがリンクフォルダであり、src内パッケージは「com.appli.free」がある状態。 ×印が消えない場合は、プロジェクトのクリーン&eclipseの再起動、F5キーによるリフレッシュなどをトライ。 (必要に応じて、import light.diary.plus.R; ?) 有料・無料の処理切り分けは、getPackageName()で行う。 ●プログレスダイアログProgress Dialog 既に動いているサンプルをそのまま使うのが吉。 スレッド以外でGUI操作するとメモリエラーとなる。 https //groups.google.com/forum/#!msg/android-group-japan/0YlnSLptx8w/g6kAZuxrR14J 引用 ProgressDialog progressDialog; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); progressDialog = new ProgressDialog(this); /*progressDialog.setTitle("処理中"); progressDialog.setMessage("処理を実行中です"); progressDialog.setIndeterminate(false); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressDialog.show();*/ Thread thread = new Thread(this); thread.start(); } public void run() { // 時間のかかる処理をここに記述。 try { progressDialog.setTitle("処理中"); progressDialog.setMessage("処理を実行中です"); progressDialog.setIndeterminate(false); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); handler.post(new Runnable() { @Override public void run() { progressDialog.show(); } }); Thread.sleep(5000); } catch (InterruptedException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } handler.sendEmptyMessage(0); } private Handler handler = new Handler() { public void handleMessage(Messa ●ADTアップデート等エラーのときのEclipse クリーン http //www.hlplus.jp/php/blog/index.php?UID=1298450960 名前 コメント
https://w.atwiki.jp/odroid/pages/16.html
SDKのインストール SDK は http //developer.android.com/sdk/ からダウンロード出来ます。 解凍したフォルダを、SDKを配置したい場所に移動してから、SDK Setup.exe を実行すると、SDKのインストールが開始出来ます。 実機デバッグ環境の構築 ODROID 用 ADB ドライバ http //dev.odroid.com/projects/odroid-t#s-5 これをインストールして PC と接続したら、 コマンドプロンプトで SDK フォルダの tools に移動して adb devices と入力してみてください。 端末情報(BABABEEFBABABEEFなど)が表示されていたら、接続成功です。 表示されていなければ、ODROID 側の設定状態がデバッグ接続になっていない可能性があります。 設定→開発 から、USB デバッグの項目をいじってみてください。 ODROID-S の場合、USB デバッグのチェックがオフの状態で何故か繋がったりすることがありました。 ADBを使ったアプリインストール PC上の apk ファイルを adb install コマンドを使って直接 Android 端末にインストールすることが出来ます。 PATHの設定 SDKのtoolsフォルダを環境変数PATHに登録しておくと便利です。
https://w.atwiki.jp/riverwin/pages/15.html
= Android = == 参考HP == * [http //developer.android.com/index.html Android Developers] * [http //itpro.nikkeibp.co.jp/article/COLUMN/20090708/333496/?ST=android-dev Androidで広がる、携帯アプリ開発の世界---目次 - Androidで広がる、携帯アプリ開発の世界:ITpro] * [http //www.kumikomi.net/archives/2010/02/fo02andr.php 「Android」に関する情報|Tech Village / CQ出版株式会社] * [http //sites.google.com/site/io/anatomy--physiology-of-an-android Anatomy Physiology of an Android] - Androidの分析と設計哲学 * [http //sites.google.com/site/io/dalvik-vm-internals Dalvik VM Internals] - Dalvikの内部構造 == SDK (Software Development Kit) == * [http //java.sun.com/javase/downloads/index.jsp Java SE] * [http //mergedoc.sourceforge.jp/index.html#/pleiades.html Pleades - Eclipse プラグイン日本語化プラグイン] * [http //developer.android.com/sdk/index.html Android SDK] == NDK (Native-code Development Kit) == * [http //www.cygwin.com/ Cygwin Information and Installation] - Windows環境で開発する場合に必要 * [http //developer.android.com/sdk/ndk/index.html Android NDK] * [http //www.atmarkit.co.jp/fjava/rensai4/android15/android15_1.html Android NDKでJNIを使用してアプリを高速化するには (1/3) - @IT] * [wiki Android/SocketProgramming ソケットプログラミング] == Tips == * CUI/GUIの切り替え(for x86) * CUI Alt+F1 * GUI Alt+F7 * エミュレータの端末の向きを変えるには?:[ctrl]+[F12] * Android-x86で日本語入力するには? * [http //www.adamrocker.com/blog/286/simeji-for-x86.html x86で動くSimeji]ページから「Simeji3.A.3_x86.apk」をダウンロードしてインストールする。 * !LogCatで日本語を表示するには? * EclipseのADTプラグインでのLogCatでは、文字コードを指定できないため、表示不可。 * コマンドラインで直接LogCatを起動することにより、表示可能。 1. コマンドラインプロンプトのフォントをMSゴシックにするために仮のバッチファイル(ファイル名は最終的なものと同一)を作成する。内容は以下の通り。 {{{ cmd /k adb logcat }}} 1. 上記で作成したバッチファイルを実行し、表示されたWindowのタイトルバー右クリックでプロパティメニューを表示し、フォントタブにてフォントをMSゴシックに指定する。 1. バッチファイルを、UTF-8設定用に変更する。内容は以下の通り。 {{{ cmd /k chcp 65001 | adb logcat }}} * Android Marketに登録できないアプリを広めるには? * サードパーティが運営しているサーバを使用する。ex.[http //andappstore.com/ AndAppStore] * アプリ内で1D/2Dバーコードスキャンを行うには? * [http //code.google.com/p/zxing/ Zebra Crossing]を使用する。 == 関連リンク == * [http //www.oesf.jp/ Open Embedded Software Foundation] * [http //wiki.github.com/OESF/Embedded-Master-ARM/em1-environment-constructed EM1 Environment Constructed] {{{ #!comment == パッケージのインストール == 参考:[http //source.android.com/source/download.html Get Android Source Code | Android Open Source] 1. ビルドに必要なパッケージのインストール {{{ $ sudo apt-get update $ sudo apt-get -y install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind g++ }}} 1. Android専用のプロジェクト管理ツール「repo」のインストール {{{ $ cd ~ $ mkdir bin $ curl http //android.git.kernel.org/repo ~/bin/repo $ chmod a+x ~/bin/repo }}} 1. 環境変数の設定 {{{ $ ls /usr/lib/jvm java-1.5.0-sun java-1.5.0-sun-1.5.0.19 $ export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun $ export PATH=$PATH ~/bin }}} 1. Android環境一式のダウンロード(Eclair)[[BR]] {{{ $ mkdir ~/work/mydroid $ cd ~/work/mydroid $ repo init -u http //android.git.kernel.org/platform/manifest.git -b eclair ... $ repo sync ... }}} 1. Linux kernelのダウンロード[[BR]] {{{ $ mkdir kernel $ cd kernel $ git clone git //android.git.kernel.org/kernel/common.git ... $ git clone git //android.git.kernel.org/kernel/linux-2.6.git ... $ git clone git //android.git.kernel.org/kernel/omap.git ... $ git clone git //android.git.kernel.org/platform/vendor/asus/eee_701.git ... $ repo sync ... }}} 1. ダウンロード結果 {{{ $ cd ~/work/mydroid $ ls -aF ./ Makefile build/ development/ hardware/ prebuilt/ vendor/ ../ bionic/ cts/ external/ kernel/ sdk/ .repo/ bootable/ dalvik/ frameworks/ packages/ system/ $ du -s 5703292. }}} 1. ビルド {{{ $ source ./build/envsetup.sh $ choosecombo 1 1 generic 3 $ make ... $ }}} }}} == x86 on VMware用パッケージのインストール == 参考 [http //arms22.blog91.fc2.com/blog-entry-254.html なんでも作っちゃう、かも。x86 Android Donut on VMware] 1. イメージファイルの変換に必要なパッケージのインストール {{{ $ sudo apt-get install qemu }}} 1. ソースコードの取得 {{{ $ cd ~/work $ mkdir android-x86 $ cd android-x86 $ repo init -u git //git.android-x86.org/android-x86/platform/manifest.git -b eclair-x86 ... $ repo sync ... }}} 1. 差分ファイルの取得[[BR]] ビルドに必要なソースがリポジトリから削除されているので([http //groups.google.com/group/android-x86/browse_thread/thread/acd93d7d702c5de9?pli=1 参考Topic])、削除前の[http //android.git.kernel.org/?p=platform/frameworks/base.git;a=snapshot;h=0c33ed2992b2eb484c229fd3322df14d97c10caa;sf=tgz スナップショット]をダウンロードし、展開後、frameworks/base/tools/layoutlib/api/*部分をコピーする。(以下は、「~/temp/downloads」にダウンロードした場合の例) {{{ $ cd ~/temp/downloads $ tar zxvf base-0c33ed2992b2eb484c229fd3322df14d97c10caa.tar.gz $ cp -r base/tools/layoutlib/api/ ~/work/android-x86/frameworks/base/tools/layoutlib/ $ cd ~/work/android-x86 $ du -s 4040996. }}} 1. ソースの修正 a. Bluetoothの有効化[[BR]] ./build/target/board/generic_x86/init.rcスクリプト中のbluetoothdサービス起動部分のdisabled設定をコメントアウトする。 {{{ service bluetoothd /system/bin/bluetoothd -n socket bluetooth stream 660 bluetooth bluetooth socket dbus_bluetooth stream 660 bluetooth bluetooth # init.rc does not yet support applying capabilities, so run as root and # let bluetoothd drop uid to bluetooth with the right linux capabilities group bluetooth net_bt_admin misc # disabled }}} 1. USB起動用のイメージファイルとしてビルド[[BR]] ※初回makeでエラー停止した場合、再度makeすると通る場合あり。 a. デフォルトカーネルを使用する場合 {{{ $ make usb_img TARGET_PRODUCT=eeepc }}} a. カーネルをカスタムビルドする場合 {{{ $ make usb_img TARGET_PRODUCT=eeepc TARGET_KERNEL_CONFIG=my_defconfig }}} a. 既にビルド済みのカーネルを使用する場合 {{{ $ make usb_img TARGET_PRODUCT=eeepc TARGET_PREBUILT_KERNEL= path to the prebuilt kernel }}} 1. 仮想ディスクイメージファイルの作成 {{{ $ cd out/target/product/eeepc $ qemu-img convert eeepc_usb.img -O vmdk installer.vmdk }}} 1. VMwareの新規仮想マシンを作成 1. 「後でOSをインストール」を選択し、「次へ」を押下する。 1. ゲストOSは「Linux」を選択する。 1. バージョンは「他のLinux2.6.xカーネル」を選択し、「次へ」を押下する。 1. 仮想マシン名を適当に作成する(例.「Android Eclair on x86」)し、「次へ」を押下する。 1. ディスク最大サイズを設定する(例.4.0GB)。 1. 「仮想ディスクを単一ファイルとして格納」を選択し、「次へ」を押下する。 1. 「完了」を押下する。 1. VMwareのディスク設定を追加・変更 1. 上記で作成したディスクをscsi0 0からide0 0に変更する。 1. vmxファイルを開いて以下の行を追加する。ide0 0がprimary master、ide0 1がprimary slave。なお、「bios.bootDelay」は、電源On時にBIOS Setup画面に移行するためのF2キー押下を容易にするための設定。 {{{ ide0 1.present = "true" ide0 1.fileName = "installer.vmdk" bios.bootDelay="3000" }}} 1. ビルドした仮想ディスクイメージファイル(installer.vmdk)をvmxファイルと同じフォルダにコピーする。 1. VMwareの仮想ハードディスクにAndroidをインストール 1. VMwareを起動し、BIOS設定を変更して、IDEのprimary slave(PS)からBOOTする。 1. AndroidのInstallを選択する。 1. 検出されたHard Diskにパーティションを作成し、ext3でフォーマットする。 1. インストールディスクの削除 1. vmxファイルを開いて次の行を削除する。 {{{ ide0 1.present = "true" ide0 1.fileName = "installer.vmdk" }}} 1. 起動確認[[BR]] VMwareを再生し、Androidが起動することを確認する。
https://w.atwiki.jp/redcloud/pages/25.html
目次 目次 四大要素 アクティビティ 状態変化時のコールバックメソッド 主なActivity 主なメソッド レイアウト定義(main.xml)で使える主なウィジェット インテント サービス コンテントプロバイダ 情報へのアクセス手段 memo/tips Androidに組み込まれているレイアウトを使う 指定インテントを取り扱えるアクティビティ一覧表示 設定画面を作成する リンク 四大要素 アクティビティ 状態変化時のコールバックメソッド onCreate onResume onStop 主なActivity Activity基底となるアクティビティクラス ListActivity一覧形式のアクティビティクラス ExpandableListActivity伸縮可能な一覧形式のアクティビティクラス MapActivity地図表示のアクティビティクラス PreferenceActivity設定情報を扱うアクティビティクラス 主なメソッド View findViewById(int id)idを指定してレイアウトファイルに定義されているウィジェットを取得 void finish()アクティビティを明示的に終了 Intent getIntent()このアクティビティを開始する契機となったインテントを取得 Application getApplication()このアクティビティが含まれるApplicationオブジェクトを取得 レイアウト定義(main.xml)で使える主なウィジェット TextView EditText ListView Button インテント サービス コンテントプロバイダ 情報へのアクセス手段 query insert update delete getType memo/tips Androidに組み込まれているレイアウトを使う android.R.layout.~ を使う。res/layout下にレイアウトxmlが無くてもOK(組み込まれているから) android.R.layout.simple_list_item_1 (例:ListActivityでよく使うシンプルリストレイアウト) 指定インテントを取り扱えるアクティビティ一覧表示 LaucherActivityを継承したアクティビティを作成する public class LauncherActivityExample extends LauncherActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.launcher_example); } @Override protected Intent getTargetIntent() { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http //developer.android.com/")); //ブラウザ系アクティビティが対象になる return intent; } } 設定画面を作成する PreferenceActivityを継承したアクティビティを作成する XMLで設定項目を定義する res/xml の下に定義ファイルを作成(例:res/xml/pref.xml)※eclipseで[新規]→[Android XML File]でウィザードを使って作成すると雛型ができて楽 Activityクラス public class PreferenceActivityExample extends PreferenceActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.pref); //xmlの設定を読み込む場合はaddPreferencesFromResourceメソッド } } ソースコードで設定項目を定義する リンク
https://w.atwiki.jp/anti-idle/pages/32.html
Button LV45以上 275,000YCで購入 ボタンをクリックするだけでお金や経験値を得られる謎の装置。 ボタンを連続でクリックするとComboが発生し、Multiplierが上昇してもらえるお金や経験値も徐々に多くなる。 ボタンのない場所をクリックするか、クリックせずに一定時間経過するとComboは終了し、Multiplierが元に戻る。 また、ボタンを連打し続けると枠の背景が赤くなり、さらに連打すると壊れて使えなくなるが、お金を払って直せばまた使える。 Press the ButtonのクエストがSランクの指定回数に達するまでEXP/Coinの所得量が上がり、 壊れたときに、それまでの成績によってMystery Boxがもらえる。 真ん中に近いほどボーナスが多く入るようになっており、 ナイスからGreenCoinのボーナスが入り始め、エクセレントからBuleCoinが、 そしてパーフェクト(ど真ん中)にクリックするとPurple Buttonというものが増える。これを消費して以下のものが買える。 効果 コスト +25% All Boost | +25% Temp. Max Boost 10 Purple Button 1.5x Button Machine Reward (100 Clicks) 50 Purple Button +1% Multiplier (+XXX% / +100%) 200 Purple Button なお、Shiftキーを押しつづけている間はマウスカーソルの位置を自動的に高速でクリックし続けてくれる。 ただしこの状態ではMultiplierが大幅に減ってしまうため、1クリック分の収入も減る。 Shiftによる連打速度はClicks Todayの値が500の倍数を超えるごとに一段階ずつ遅くなっていく。 関連Quest/Achievements Quest 名称 種別 条件 補足 Press the Button Daily Clicks Todayが500,2500,10000,50000以上 Sランクの指定回数までEXP/Coinが上昇、Mystery Boxがもらえる Click The Button! Main Total Clicksが指定回数以上 Perfect Click! Main Perfectが指定回数以上 Button Upgrade Main +1% Multiplierの購入回数が指定回数以上 Achievements 名称 種別 条件 補足 Button Machine GET! Normal Total Clicksが指定回数以上 perfect Click! Normal Perfectが指定回数以上 Button Breaker Normal ボタンを破壊した回数が指定回数以上 100 Hit Combo! Normal Max Combo数が指定回数以上 目標が高い時はボタンが壊れた直後に修理してコンボを継続することが必要Cradを利用すると直す回数が減るので狙う時は推奨 Perfectionist Secret 3クリック連続でPerfectを出す Shiftで連射していればわりと取れる Immortality Secret ボタンが壊れていない状態でRepairを100回押す Still Doing It? Scret Total Clicksが102400を超える
https://w.atwiki.jp/fujiyan/pages/38.html
(作成中) WebコミックLibraryhttp //web-comi.appspot.com/GAE/JとSlim3で作成してみた、各出版社から配信されているWebコミックをまとめて閲覧できるサイトです。只今、実験運用中… 参考サイト 公式サイト Androidで動く携帯Javaアプリ作成入門 Tech Booster 逆引きAndroid入門 ActivityとView 参考 Android Developers 世界を目指せ!Androidアプリ開発入門 Activityは、画面を表す。 ViewはUIを構成する部品。ActivityにViewを設定することで、画面を構築する。 Viewの構成方法は2つ(静的)レイアウトXMLを記述してコンパイルしたものを設定。お手軽。通常はこっち (動的)Viewオブジェクトを適宜生成して設定。前もって作成するViewが決まらない場合はこっち。 XMLでViewを定義 res/layout以下に.xmlファイルを作成 作成すると、R.layout.[ファイル名]という定数名で、作成したViewを表すIDが定義される(ファイル名がmain_layout.xmlなら、R.layout.main_layoutという定数が定義される)。 定義されたIDをActivity#setContentView()に渡す。 複数のView定義が必要な場合は、その分だけxmlファイルを作れば良い。 画面切り替え 参考 アンドロドロ バックボタンで前画面に戻したい場合はActivity切り替えで実装。バックボタンを押すと、アクティブなActivityに対してfinish()が呼び出され、直前のActivityがアクティブになる。ブラウザの「戻る」感覚だろうから、こっちが通常なんでしょう。 グローバルリソース(カメラ等)の取得/解放は、よほどの事情が無い限り、onResume()/onPause()で行うこと。でも、カメラでよくやるような、SurfaceHolderのsurfaceCreated()/surfaceDestroyed()は、Activity切り替え時のタイミングで呼ばれるっぽいので、ここでカメラの取得/解放を行っても大丈夫っぽい(あやふや)。 Activityを2つ用意するのか、1つのActivity内でViewFlipperを使うかは悩み中。多分、メモリ管理を細かく制御して、OSに負担を掛けないようにするのはActivity2つなんでしょう。次画面のActivity起動時に次画面用のリソースを取得、前画面のリソースを解放とか、onStop()/onRestart()でリソースの一時解放/再取得とか。 ViewFlipperの場合は、全ての画面のリソースをまとめてメモリにロードするんじゃないかと。 アプリケーションの終了 単一Activityの場合はfinish()で良い。 複数Activityの場合は、最後に開始したActivityから順次finish()していき、最後にroot Activityをfinish()させるのが良いと思う。これは、Activityはスタックに詰まれていくことに由来。LIFOでfinish()していく。 多分、ActivityからTaskを終了させる方法は無い。何故なら、Activityは、さまざまなTaskから呼ばれることを想定しているため、自分を呼んだTaskを勝手に終了させるわけにはいけないから、かと。 moveTaskToBack()でTaskをバックグラウンドに追いやって、そのうちOSに掃除してもらう、という方法もある。こっちがAndroidの標準だ、という話もあるけど、何となく、うーん。だって、この方法だと、再起動したときに、前の状態から開始されてしまうし…。 moveTaskToBack()はあくまで「中断」であり、「終了」はやっぱり地道にfinish()していくべきだと思うの 一般的な実装としては、startActivityForResult()でchild Activityを開始し、child Activityの終了後に呼ばれるonActivityResult()で、自身もfinish()する System.exit(0)で終わらせてはゼッタイダメ。 カメラ(Android 2.1 API Level 7) AndroidManifest.xmlの記述 参考 プログラマのネタ帳 uses-permission android name="android.permission.CAMERA" / uses-feature android name="android.hardware.camera" / uses-feature android name="android.hardware.camera.autofocus" / uses-feature android name="android.hardware.camera.flash" / uses-permissionで、カメラ利用の許可が必要であることを宣言し、残りの3つでカメラ、オートフォーカス、フラッシュの機能を使用することを宣言します。 また、Activityの属性に下記を追加。 android screenOrientation="landscape" android theme="@android style/Theme.NoTitleBar.Fullscreen" screenOrientationの設定は、なんか、カメラは水平でしか使えないらしいため…。 themeの設定は、アプリをフルスクリーン表示にするため。カメラアプリは基本的にフルスクリーン。 MediaStore.Images.Media.insertImage()で保存すると画質が落ちる 参考 日本Androidの会 画像を加工しない場合は、生成されたjpegデータをそのまま保存する。 // Camera#takePicture()の第3引数に渡す、コールバックオブジェクト private Camera.PictureCallback pictureListener = new Camera.PictureCallback() { public void onPictureTaken(byte[] data, Camera camera) { try { insertImageToMediaStore(data); } catch (IOException e) { throw new RuntimeException(e); } //後処理を記述 } }; // dataに格納されたjpegデータを保存 private void insertImageToMediaStore(byte[] data) throws IOException { ContentResolver resolver = getContentResolver(); ContentValues values = new ContentValues(); values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); values.put(MediaStore.Images.Media.DATE_TAKEN, System.currentTimeMillis()); Uri uri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); ByteArrayInputStream in = new ByteArrayInputStream(data); try { int size; final int BUFFER_SIZE = 8192; byte[] buffer = new byte[BUFFER_SIZE]; BufferedOutputStream out = new BufferedOutputStream(resolver.openOutputStream(uri)); try { while ((size = in.read(buffer, 0, buffer.length)) 0) { out.write(buffer, 0, size); } out.flush(); } finally { out.close(); } } finally { in.close(); } } 画像を加工して保存 参考 Androidのあ~ん rTAKI0329's android ブログ グロブ(OutOfMemoryで落ちる件) なんか、下の方法みたいに、カメラの撮影サイズでBitmapの別インスタンスを生成すると、メモリ不足で落ちるっぽいぞ…。エミュレーション環境では普通に動くけど、実機でカメラ撮影後に突然落ちるような場合は原因の一つとして疑ってみてもいいかも コールバックメソッドに渡されるjpegデータをBitmapに変換して、Canvasで描画をする。その後、Bitmapをjpegで保存する。 jpeg→ビットマップ→jpegの変換を行うので、画質が落ちたり、ファイルサイズが増えたり…。 BitmapFactory.decodeByteArray()で作るBitmapがimmutableなため、copy()でmutableなBitmapを再作成する。API Level 11なら、decodeByteArray()のオプションでmutableなBitmapを直接作れるかも? // Camera#takePicture()の第3引数に渡す、コールバックオブジェクト private Camera.PictureCallback pictureListener = new Camera.PictureCallback() { public void onPictureTaken(byte[] data, Camera camera) { Bitmap orgBmp = BitmapFactory.decodeByteArray(data, 0, data.length); Bitmap bmp = orgBmp.copy(Bitmap.Config.ARGB_8888, true); Canvas canvas = new Canvas(bmp); // canvasで描画 try { insertImageToMediaStore(bmp); } catch (IOException e) { throw new RuntimeException(e); } camera.startPreview(); } }; // Bitmapをjpegで保存 private void insertImageToMediaStore(Bitmap bmp) throws IOException { ContentResolver resolver = getContentResolver(); ContentValues values = new ContentValues(); values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); values.put(MediaStore.Images.Media.DATE_TAKEN, System.currentTimeMillis()); Uri uri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); BufferedOutputStream out = new BufferedOutputStream(resolver.openOutputStream(uri)); try { bmp.compress(Bitmap.CompressFormat.JPEG, 100, out); out.flush(); } finally { out.close(); } } GPSとジオコーディング(Android 2.1 API Level 7) LocationManagerを取得する。 LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); onLocationChanged()が呼ばれなくなる 参考 A Day In The Life LocationManager#removeUpdates()を呼ばずにActivityを終了させると、次回起動時にonLocationChanged()が呼ばれなくなるらしいです。必ず呼びましょう。 配布と署名 アプリケーションはapkファイルにパッケージングして配布する。 署名付きapkファイルじゃないと、端末にインストールされません。 署名のためのkeytool使用法 参考 Android Developers keyalgで指定するアルゴリズムはDSAとRSAがサポートされているらしい。通常はRSAにしておきましょう。 keysizeについては2048以上を推奨とされています。 validityで指定する有効期限については、10000日以上を推奨されています。 ということで、推奨されるkeytoolのオプションは keytool -genkey -v -keystore [keystoreファイル名] -alias [エイリアス] -keyalg RSA -keysize 2048 -validity 10000 1つのkeystoreに対して、複数の鍵を生成できる。keystoreの中で、鍵を識別するためにエイリアスを用いる。 なので例えば、keystoreファイル名はワークスペース名、エイリアスはプロジェクト名(=アプリケーション名)、みたいな感じにすると良い(あくまで例)。 keytool -genkey -v -keystore workspace.keystore -alias app1 -keyalg RSA -keysize 2048 -validity 10000 keytool -genkey -v -keystore workspace.keystore -alias app2 -keyalg RSA -keysize 2048 -validity 10000 keystoreファイルやパスワードは失くしたり忘れたりしないようにね あれ、keytoolいらなくね?(ADT Plugin for Eclipseがあれば) apkを作成したいアプリのプロジェクトのルートのコンテキストメニューから、[Export...]→[Android]-[Export Android Application]を選択する。 [Project Checks]で、何もエラーが無いことを確認して[Next ] [Keystore selection]では、最初にkeystoreファイルを作る場合は[Create new keystore]を選択[Location]には、keystoreファイルのフルパスを入力失くさないように、ワークスペース内に、keystoreファイル格納用のプロジェクトを作成し、そこに作成すると良いかも。 [Password]と[Confirm]には、keystoreファイルにアクセスするためのパスワードを入力する。 [Key Creation]では、下記を入力[Alias]には鍵のエイリアスを入力。まぁ普通はアプリケーション名 [Password]と[Confirm]には、鍵にアクセスするためのパスワードを入力する。 [Validity]には年を入力するので注意。推奨は25年以上です。 [First and Last Name]から[Country Code (XX)]については、どれか1つにでも入力すればOK。 [Destination and key/certificate checks]では、下記を入力[Destination APK file]に、出力するapkファイルをフルパスで入力。 あらまぁ簡単
https://w.atwiki.jp/hoshiba/pages/62.html
ウェブサイト新着情報 録音したTwitterスペースをiOS、Android、ウェブの全ユーザーが聴けるように - TechCrunch Japan 年末に売れてるSIMフリーAndroidスマホは? OPPO・Xiaomi・シャープ・サムスンが大接戦(BCN) - Yahoo!ニュース - Yahoo!ニュース Androidスマホの反応が遅くなる「8つの誤った使い方」とその対処法(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース キャリアSNS「YOUTRUST」がAndroid版アプリをリリース、累計登録ユーザー数10万人突破も発表 - TechCrunch Japan iOS/Android版「聖剣伝説 Legend of Mana」が配信開始!PS4/Switch版コレクターズエディションの追加生産も決定|ゲーム情報サイト Gamer - Gamer マジ? AirTag悪用の高級車窃盗が報告される…(ギズモード・ジャパン) - Yahoo!ニュース - Yahoo!ニュース Androidの12月月例更新開始 「致命的」な6件を含む多数の脆弱性修正 - - ITmedia Mobile 新型コロナワクチン接種証明書アプリ、公開は12月20日 iPhoneとAndroid向け - ITmedia NEWS 『ポケモンユナイト』Nintendo Switch版とiOS/Android版の合計ダウンロード数が5000万回を突破。10月の2500万回突破からわずか2ヶ月で倍増(電ファミニコゲーマー) - Yahoo!ニュース - Yahoo!ニュース 「星間パイオニア」Android版の先行プレイがスタート。Twitterキャンペーンを実施中 - 4Gamer.net ドンキ、あえてチューナーレスの「Android TV搭載スマートテレビ」をうたう24型/42型 - 価格.com Xperia XZがAndroid初のトップ10入り 「にこスマ」の11月中古スマホランキング(ITmedia Mobile) - Yahoo!ニュース - Yahoo!ニュース Androidスマホのストレスを軽減する3つのステップ(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース 『アンリアルライフ』iOS/Android版がリリースへ。記憶喪失の少女がサイコメトリー能力を駆使して冒険、お手頃価格で気軽に楽しめるように(電ファミニコゲーマー) - Yahoo!ニュース - Yahoo!ニュース Androidのスマホ性能チャート、Snapdragon 888 Plusが優位に - iPhone Mania 6年前にリリースされたFairphone 2にソフトウェアアプデ。Android 10対応に - GIZMODO JAPAN シャープからAndroidスマホ「AQUOS wish」、“シンプルでソーシャルグッド”な新機種 - ケータイ Watch Androidゲーム機の時代が来る? (1/4) - ASCII.jp フリーランス・副業向け マッチングサービス『Workship』、iOS/Androidアプリをリリース - PR TIMES AndroidスマホとiPadを上手に組み合わせて使う方法(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース 今売れてるAndroidスマートフォンTOP10、シャープ製品が16週ぶりに首位 2021/12/4(BCN) - Yahoo!ニュース - Yahoo!ニュース XperiaがAndroidスマホ販売シェア1位に浮上――今さら感強い「Xperia View」に不安要素:石川温のスマホ業界新聞 - - ITmedia Android/Fire TV版「DiXiM Play」にキャスト機能追加(Impress Watch) - Yahoo!ニュース - Yahoo!ニュース 「Android 12L」と「iPad OS 15」がすごくてもタブレットが売れない理由 - TechTargetジャパン Amazonアプリストア、Android 12で動作しない不具合が1か月以上継続中 - Engadget日本版 グーグル、「Android Auto」をアップデート--ついにデジタルキーに対応 - CNET Japan 2021年12月第1週 AndroidにもRISC-Vの波が来るのか - Gihyo Jp バンキング型トロイの木馬が30万台以上のAndroidに感染か 国内金融機関も標的に - ITmedia Google、DevSummit 21で大画面Androidデバイスのサポートを発表 - InfoQ Japan Y!mobile、Amazonブラックフライデーで「Android One S5」「Libero S10」を1円に - - ITmedia 2022年のAndroidスマホはiPhone13シリーズに性能面で勝てるのか? - iPhone Mania 今売れてるAndroidスマートフォンTOP10、「Xperia 5 III」が2週連続TOP10入り 2021/11/27(BCN) - Yahoo!ニュース - Yahoo!ニュース AmazonブラックフライデーでiPhoneやAndroidスマホがセール対象に 1円端末も - - ITmedia 5G対応で3万円台のAndroidタブレット見参!ソフトバンクの「Lenovo TAB6」を使ってみた - PC Watch Androidのバージョン別シェア、いまだ3年以上前のものの合計が約50%を占める - iPhone Mania Xperiaが国内Androidシェア1位に躍進した理由 「ミッドレンジが好調」だけにあらず(1/2 ページ) - - ITmedia Mobile Twitterの投げ銭機能「Tips」、Androidアプリでも設定可能に - ITmedia NEWS 何が変わる?「Android 12」の最新機能とアップデートのタイミング| - @DIME 古いAndroidスマホがバージョンアップできない原因 – アップデート非対応機種か確認 (2021年11月19日) - エキサイトニュース Androidでアプリを毎回閉じないほうがいい - ギズモード・ジャパン Samsung、「Android 12」ベースのGalaxy新ランチャー「One UI 4」リリース - - ITmedia Mobile Pixel 6などのAndroidスマホが意図せず電話をかけてしまう問題が解消 - PC Watch 作って楽しむプログラミング Androidアプリ超入門 改訂新版 - nikkei BPnet Apple CEO「それならAndroidを買って」iPhoneでは絶対に認めないこと - AppBank.net OPPO初となるAndroidタブレットのスペックと価格がリーク - HelenTech 今売れてるAndroidスマートフォンTOP10、OPPOとソニーが首位争い 2021/11/13(BCN) - Yahoo!ニュース - Yahoo!ニュース Androidユーザー満足の最新スマートウォッチ「Fossil GEN 6」場面を問わず1日中装着【今日のライフハックツール】(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース E-inkなのにAndroid搭載! 新感覚タブレット「BOOX - Nova Air」(BCN) - Yahoo!ニュース - Yahoo!ニュース 正当なアプリを装う新たなAndroidスパイウェア「PhoneSpy」が韓国で発見される - TechCrunch Japan 「Xiaomi Pad 5」はハイエンドAndroidタブレットの真打ちだ! (1/2) - ASCII.jp 「iPhone→Android」「Android→iPhone」の機種変更で予想外だったこと(マネーポストWEB) - Yahoo!ニュース - Yahoo!ニュース Googleのスマホ「Pixel 6」「Pixel 6 Pro」はどんなスマホ? 特徴をチェック!(Fav-Log by ITmedia) - Yahoo!ニュース - Yahoo!ニュース Android 12にアップデートすると使える新機能12選 - GIZMODO JAPAN この秋、発売されるAndroidスマホの本命は?(@DIME) - Yahoo!ニュース - Yahoo!ニュース 不要アプリを一気に消したい! ストレージの空きを増やしたい! そんなときに使えるAndroid標準機能 - ケータイ Watch Androidの11月月例更新開始 「致命的」な2件を含む多数の脆弱性修正 Pixelでは機能改善も - - ITmedia Mobile 2021年秋、バラエティが広がるハイエンドAndroid市場を俯瞰する - Impress Watch 折りたたみや大画面に最適化の「Android 12L」、来年公開へ - - ITmedia Mobile 楽天モバイル、Android 12提供予定のスマートフォンを案内 - ケータイ Watch Windows 11で「Androidアプリ」を実行可能に、プレビュー版をWindows Insider Programで提供開始 - ITmedia 今売れてるAndroidスマートフォンTOP10、Xperiaが1位・2位を独占 2021/10/23(BCN) - Yahoo!ニュース - Yahoo!ニュース AndroidにはないiOSの優れた機能8選(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース Android 12リリース。使える機種が限られるけど...「Material You」が使えるようになるよ #Pixel6Launch(ギズモード・ジャパン) - Yahoo!ニュース - Yahoo!ニュース Androidスマホの「緊急通報・緊急情報」の登録方法は?万が一の確認方法など紹介 - TIME&SPACE ドコモが「Android 12」バージョンアップ対象モデルを公表 46機種で対応予定 - - ITmedia Android 12.1早くもリーク、折りたたみスマホ対応が進化しそう(ギズモード・ジャパン) - Yahoo!ニュース - Yahoo!ニュース Androidスマホの「アプリの権限」ってなに?許可してもOK?注意点など解説 - TIME&SPACE Androidにこの秋追加予定の13の新機能 TVリモコンや「Camera Switches」など - - ITmedia [ケータイ用語の基礎知識]第982回:YouTubeは見れるの? Androidアプリも使える? ファーウェイのスマホ・タブレットのHarmonyOSとは - ケータイ Watch 慣れると元に戻れなくなるかも、Androidアプリ「アルテ日本語入力キーボード」 - ケータイ Watch Android 11のアプリ権限リセット機能、過去OSでも利用可能に - Engadget 日本版 Androidスマホの速度が遅くなってきた時の対処法6つ - Lifehacker JAPAN Androidの位置情報を完全にオフにする方法 - Lifehacker JAPAN 2021年9月第3週 そろそろAndroid 12がリリースされるので復習:Android Weekly Topics - Gihyo Jp 【最新版】1万円台からのおすすめAndroidタブレット7選 - PC Watch 韓国、グーグルに約200億円の課徴金--「Android」の独占的地位を乱用 - CNET Japan Android 12 beta 5(ファイナル)公開 正式版は「数週間中」 - - ITmedia Androidの9月のセキュリティパッチ、脆弱性などを修正 - ケータイ Watch iPhoneもAndroidスマホも7年は使い続けられるように…ドイツ政府がEUに新法案を提唱 - GIZMODO JAPAN 「Windows 11」でのAndroidアプリ利用、10月5日には含まれず - ITmedia Androidで使いたい便利な時短機能10選 - Lifehacker JAPAN スマホ画面用「Android Auto」、Android 12で廃止へ - CNET Japan Androidを表情で操作するカメラスイッチ、Android 12ベータ4で利用可能に - Engadget日本版 家族のスマホさがしからクルマの遠隔ロックまで。Androidの「デバイスを探す」機能がめちゃ便利になりそう - GIZMODO JAPAN Androidの2021年8月のセキュリティパッチ情報が公開 - ケータイ Watch Google、Android 2.3.7以前の端末からのログインサポートを終了へ - Engadget日本版 Androidの「ジェスチャーナビゲーション」とは?操作が便利になるテクニックを紹介 - TIME&SPACE Google、Androidデバイス用機械学習プラットフォームを発表 - ケータイ Watch Windows 11で動くAndroidアプリ その背景にあるもの - ITmedia Android版「Googleアプリ」にアップデート 強制終了を繰り返す問題を修正 - - ITmedia 【復旧】Android版Googleアプリが「繰り返し停止」、多数デバイスに影響 - マイナビニュース 「Android 12」はどこが新しくなった? デザインやプライバシー機能に注目 - TechTargetジャパン 「Android 12」ベータに見る、スマホの進化の明日はどこだ!? - ケータイ Watch グーグル、Android 12でアプリによるトラッキングを拒否可能に - GIZMODO JAPAN 「SIMフリースマホ」予算2万円台のAndroidおすすめ5選【2021年5月版】 - - ITmedia 「Android 12」のリリース時期、新機能は?--これまでの情報まとめ - CNET Japan Androidアプリ障害の原因になった「WebView」ってなに? - ITmedia Androidの『おやすみモード』とは?通知の停止・アラーム自動セットなど機能満載 - TIME&SPACE Androidスマホのメリットとデメリット - Lifehacker JAPAN 「Android 12」のプレビュー版が初登場、新機能はまだないけど画面には細かい変化も - ケータイ Watch ブログ新着情報 #blogsearch2 technorati検索結果 #technorati
https://w.atwiki.jp/teshiroid/pages/14.html
AndroidとはスマートフォンやタブレットPCなどの 携帯情報端末を主なターゲットとして開発された、 プラットフォーム(OS)のこと。googleが開発した。 詳しくはこちら iPhoneとどう違うかもだいたい分かるはず。 質問は受付よう。 auがandroidって連呼していますが、docomoもandroidOSで多く発売していますよ
https://w.atwiki.jp/banrui/pages/24.html
開発環境設定 1.Android SDKをインストール 2.環境変数の設定 .bash_profileを書き換える export PATH=$PATH Developer/android-sdk-mac_x86/tools /Developer/android-sdk-mac_x86/platform-tools 3.Android SDKにADTプラグインをインストール Eclipse 「ヘルプ」→メニュー「新規ソフトウェアのインストール」→追加 名前:AndroidPlugin ロケーション:https//dl-ssl.google.com/android/eclipse/ チェックボックにチェック→完了→再起動 4.環境設定→「Android」を選択し、SDKロケーションにはAndroid SDK を配置した場所を指定し「OK」 5.platformsディレクトリは、空の状態なので設定 6.androidでターミナルでAndroid SDK and AVD Manage起動 7.Available packageを選択すると、右側にインストールできるパッケージが表示されるので全部選択→インストール 参考サイト MacでAndroid開発環境構築 Macに「eclipse」、「Android SDK」をインストールしてAndroid開発環境を整える。 プログラミング XML テキストサイズ android textSize パスワード android inputType="textPassword" ■LayoutInflater 参考 実装 TextViewに数値を渡す時は TextView.setText(String.valueOf(int)) を使う 日時の取得 java.util.CalendarクラスなどでOK 参考 Edittext カーソル位置を左上からにするのは、android gravity="top|left"を利用 参考 評価については、RatingBarを利用 サイズの変更と星の手動で動くようにする RatingBar参考 RatingBar生成 SQLite 標準操作マニュアル 参考 Android SQLiteデータベースを作成する(SQL文をリソースファイルに定義する) 参考ページ
https://w.atwiki.jp/anddoid/pages/57.html
android inputType 要素 none text textCapCharacters textCapWords textCapSentences textAutoCorrect textAutoComplete textMultiLine textImeMultiLine textUri textEmailAddress textEmailSubject textShortMessage textLongMessage textPersonName textPostalAddress textPassword textVisiblePassword textWebEditText textFilter textPhonetic number numberSigned numberDecimal phone datetime date time 関連タグ 使用例 android inputType="phone"